1. Field of the Invention
The present invention relates to network communication apparatuses, a communication system including the apparatuses, and a control method for the system and the communication apparatus.
2. Description of the Related Art
Conventionally, there has been known a service-providing apparatus or system which provides various kinds of services in response to service requests from client apparatuses on a network. For example, with the rapid spread of Internet communication, various kinds of devices other than conventional personal computers have been developed as network devices. In addition to user interactive devices such as PDAs (Personal Digital Assistances) and cellular phones, various kinds of image processing apparatuses and home electric appliances have been made compatible with networks.
Along with this tendency, there has been proposed software for searching for network devices which provide various kinds of services in order to improve convenience and ease of use in using these network devices. In addition, there have been proposed various kinds of protocols and architectures which provide automatic setup means for application software, utility software, operating systems, and the like for controlling such network devices (Japanese Patent Laid-Open Nos. 2004-038956 and 2004-362594).
Several enterprises and standardization organizations have been making efforts to develop specifications so as to extend the plug and play function, which has been applied to local input/output connection devices, to network devices as well. These efforts include, for example, UPnp (registered trademark) (see UPnP Device Architecture v1.0), which Microsoft has been mainly developing, and BMLinks (“BMLinks”, the Japan Business Machine and Information System Industries Association), which has been promoted by WSD: Web Services for Devices.
The network service systems exemplified above use protocols for notifying events, typified by GENA: General Event Notification, WS-Eventing, and the like. This allows a client device to grasp, in real time, a change in the status of a device which provides a service, that is, the processed state of a job which the device has requested to execute, an error status, a state change such as updating of configuration information (occurrence of event), or the like.
The above conventional techniques, however, suffer the following problems. According to an event notification protocol, a client device needs to issue an event notification request to a service-providing device in advance. The service-providing device must hold and manage all pieces of information concerning notification requests received from all client devices. When an event occurs, the service-providing device must notify all the client devices from which the notification requests have been received of the occurrence of the event. Of these events, events associated with changes in status accompanying the execution of a job can conceivably include a start job, job progress, job completion, error, and the like. In order to transmit the notifications of the occurrence of these events to all the clients from which notification requests have been received, it is necessary to ensure network connection including error recovery and the like. This imposes a heavy load on the service-providing device. In addition, this heavy load has caused, for example, the problem that failing to notify an important, urgent event will greatly delay event notification to network management tools.
On the other hand, it is conceivable that even if the service-providing device notifies a client device, from which a notification request has been received, of an event, the client device has no function of processing the event, that is, no function of analyzing the content of the event and notifying the user of the resultant information. In addition, in the client device, a function, application, utility, or the like which processes the event may not be activated (i.e. be invalid). In such a case, the notified event information and the process performed for notification are wasted.
In a service-providing device with limited hardware resources, a device used in a home network environment, in particular, or an environment such as an office in which many client devices exist, some contrivance is required to minimize wasteful event processing and wasteful event notification.